package com.example.demo.mapper;

import com.example.demo.model.UserInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * \* Created with IntelliJ IDEA.
 * \* User: Administrator
 * \* Date: 2022/7/21
 * \* Time: 16:15
 * \* To change this template use File | Settings | File Templates.
 * \* Description:
 * \
 */

@Mapper
public interface UserMapper {

    // 根据名称进行模糊查询
    public List<UserInfo> getListByName(@Param("username") String username);

    // 登录功能
    public UserInfo login(@Param("username") String username,
                          @Param("password") String password);

    //查询用户及用户发表的所有文章，根据用户id
    public UserInfo getUserAndArticleByUid(@Param("uid")Integer uid);

    // 根据用户 id 查询用户
    public UserInfo getUserById(@Param("id") Integer id);

    // 根据全名查询用户对象（非模糊查询）
    public UserInfo getUserByFullName(@Param("username") String username);

    // 获取列表，根据创建时间进行倒序或正序
    public List<UserInfo> getOrderList(@Param("order") String order);

    // 修改方法【根据id修改名称】
    public int update(@Param("id") Integer id,
                      @Param("username") String username);

    // 删除方法
    public int del(@Param("id") Integer id);

    // 添加用户，返回受影响的行数
    public int add(UserInfo userInfo);

    // 添加用户，返回受影响的行数和自增的 id
    public int addGetId(UserInfo userInfo);

    //添加用户，添加用户时photo是非必传参数
    public int add2(UserInfo userInfo);

    //添加用户，其中username,password,photo都是非必传参数
    public int add3(UserInfo userInfo);

}
